*
        REAL*8 FUNCTION Ufun(Fmy,nnnmy,betamy,Qmy)
        IMPLICIT NONE
        REAL*8  Fmy,nnnmy,betamy,Qmy
        INTEGER imyfun,j
        real :: BH1(11,10)
        real :: BH2(11,10)
        real :: BH3(11,10)
        real :: NS1(11,10)
        real :: NS2(11,10)
        real :: NS3(11,10)
        real :: a(10)
        DATA a /1.1, 1.5, 2, 3, 4 ,6, 8, 10,14,20/  
        
        BH1=RESHAPE(
     &[ 6,5,5,5,5,5,5,5,5,5,5
     &,5,5,5,5,5,5,5,5,5,5,5
     &,  5,5,5,5,5,5,5,5,5,5,5
     &,   5,5,5,5,5,4,4,4,4,4,4
     &,  4,4,4,4,4,4,4,4,4,4,4
     &,   3,3,3,3,3,3,3,3,3,3,3
     &,   2,2,2,2,2,2,1,1,1,1,1
     &,   1,1,1,1,1,1,1,1,1,1,1
     &,   1,1,1,1,1,1,1,1,1,1,1
     &,   1,1,1,1,1,1,1,1,1,1,1 
     &],[11,10])*1.09861231-3.25735641
        BH2=RESHAPE(
     &[ 6,6,6,5,5,5,5,5,5,5,5
     &,6,6,5,5,5,5,5,5,5,5,5
     &,5,5,5,5,5,5,5,5,5,5,5
     &,5,5,5,5,5,5,5,5,5,5,5
     &,5,5,5,5,5,5,5,5,5,5,5
     &,5,5,5,5,5,5,5,5,5,4,4
     &,5,5,5,4,4,4,4,3,3,3,3
     &,4,4,4,3,3,3,3,3,2,2,2
     &,3,3,2,2,2,2,1,1,1,1,1
     &,1,1,1,1,1,1,1,1,1,1,1
     & ],[11,10])*1.09861231-3.25735641
       
        BH3=RESHAPE([
     &6,6,6,6,5,5,5,5,5,5,5
     &,6,6,6,5,5,5,5,5,5,5,5
     &,6,6,6,5,5,5,5,5,5,4,4
     &,6,5,5,5,5,5,4,4,4,4,4
     &,5,5,5,5,5,5,5,4,4,4,4
     &,5,5,5,5,5,5,5,5,5,5,5
     &,5,5,5,5,5,5,5,5,5,5,4
     &,5,5,5,5,5,5,4,4,4,4,4
     &,5,5,5,4,4,4,4,3,3,3,3
     &,4,4,4,4,3,3,2,2,2,1,1
     & ],[11,10])*1.09861231-3.25735641
        NS1=RESHAPE([
     &4,4,4,4,4,4,4,4,4,4,4
     &, 4,4,4,4,4,4,4,4,4,4,3
     &, 4,4,4,4,4,4,3,3,3,3,3
     &, 3,3,3,3,3,3,2,2,2,2,2
     &, 2,2,2,2,2,1,1,1,1,1,1
     &, 1,1,1,1,1,1,1,1,1,1,1
     &, 1,1,1,1,1,1,1,1,1,1,1
     &, 1,1,1,1,1,1,1,1,1,1,1
     &, 1,1,1,1,1,1,1,1,1,1,1
     &, 1,1,1,1,1,1,1,1,1,1,1         
     & ],[11,10])*1.09861231-3.25735641
         NS2=RESHAPE(
     &[5,5,5,5,5,5,5,4,4,4,4
     &, 4,4,4,4,4,4,4,4,4,4,4
     &, 4,4,4,4,4,4,4,4,4,4,4
     &, 4,4,4,4,4,4,4,4,4,4,4
     &, 4,4,4,4,4,4,4,3,3,3,3
     &, 4,4,4,3,3,3,2,2,2,1,1
     &, 3,3,3,2,2,1,1,1,1,1,1
     &, 3,2,2,1,1,1,1,1,1,1,1
     &, 1,1,1,1,1,1,1,1,1,1,1
     &, 1,1,1,1,1,1,1,1,1,1,1
     & ],[11,10])*1.09861231-3.25735641
        NS3=RESHAPE([
     &5,5,5,5,5,5,5,5,5,5,5
     &,5,5,5,5,5,5,5,5,5,5,4
     &,5,5,5,5,5,5,5,4,4,4,4
     &,5,5,5,4,4,4,4,4,4,4,4
     &,4,4,4,4,4,4,4,4,4,4,4
     &,4,4,4,4,4,4,4,4,3,3,3
     &,4,4,4,4,4,4,3,3,2,2,2
     &,4,4,4,4,4,3,3,2,2,1,1
     &,4,4,4,3,2,2,1,1,1,1,1
     &,4,3,2,2,1,1,1,1,1,1,1
     & ],[11,10])*1.09861231-3.25735641

        
        ! print *,log(exp(1.0))
        ! print *,log(20.0),NS2(1,1),log(6.0)
        ! print *,(log(0.6)+log(0.2))/2-2*1.09861231
        j=1
        do imyfun=1,10
            if(nnnmy.gt.a(j))then
                j=j+1
            endif
        enddo
        Ufun=666.666
        
      !   print *,Fmy
        imyfun=12-NINT((Fmy-45)/5)
        
        
        if(Fmy.gt.49.and.Fmy.lt.100.1.and.nnnmy.lt.20.1
     &.and.nnnmy.gt.1.0.and.Qmy.gt.0.0)then
            if(nint(betamy).eq.1)then
                Ufun=exp(( NS1(imyfun,j)-BH1(imyfun,j) )*
     &(LOG(Qmy)-LOG(2.0))/(LOG(15.0)-LOG(2.0))+BH1(imyfun,j))
            endif
            if(nint(betamy).eq.2.0)then
                
                Ufun=exp(( NS2(imyfun,j)-BH2(imyfun,j) )*
     &(LOG(Qmy)-LOG(2.0))/(LOG(15.0)-LOG(2.0))+BH2(imyfun,j))
            endif
            if(nint(betamy).eq.3)then
                
                Ufun=exp(( NS3(imyfun,j)-BH3(imyfun,j) )*
     &(LOG(Qmy)-LOG(2.0))/(LOG(15.0)-LOG(2.0))+BH3(imyfun,j))
            endif
        endif
        
        RETURN
        END
        
